/**
 * SoundManager 2: "Turntable UI" - CSS
 * Copyright (c) 2015, Scott Schiller. All rights reserved.
 * http://www.schillmania.com/projects/soundmanager2/
 * Code provided under BSD license.
 * http://schillmania.com/projects/soundmanager2/license.txt
 */

.turntable {
 position: relative;
}

.turntable,
.turntable img.stub {
 width: 100%;
 max-width: 1256px;
 /* optional: max-width: 628px; if you want nice retina-scale graphics at full-width. */
}

.turntable .table-bg {
 position: absolute;
 top: 0px;
 left: 0px;
 width: 100%;
 height: 100%;
 background: transparent url(../image/tt_table.png) no-repeat 0px 0px;
 background-size: contain;
}

.turntable .frame,
.turntable .bd {
 position: absolute;
 top: 9.7%;
 left: 5.4936%;
 height: 82.25%;
 width: 88.15%;
 padding: 0.054936% 0px 0px 0.099%;
 border-radius: 5px;
 -webkit-background-clip: padding-box;
 background-clip: padding-box;
 overflow: hidden;
}

.turntable .frame {
 /* If you want to skin the turntable body with a texture etc., apply a background image and/or color here. */
 /*
 background: #cdcfc7;
 background: #a4a4a4;
 background: #262626;
 */
 background: #262626;
 /* rounding hacks */
 padding: 1px;
 margin-left: -1px;
}

.turntable .platter {
 position: absolute;
 top: 0.33%;
 left: 5.025%;
 width: 72.75%;
 height: 100%;
 background: transparent url(../image/platter.png) no-repeat 50% 50%;
 background-size: contain;
 border-radius: 100%;
 overflow: hidden;
 }

.turntable .slipmat,
.turntable .record,
.turntable .record-grooves {
 position: absolute;
 top: 6.3%;
 left: 8.35%;
 width: 66.2%;
 height: 87.994%;
 border-radius: 100%;
 overflow: hidden;
}

.turntable .label {
 position: absolute;
 top: 37.25%;
 left: 31.45%;
 width: 20%;
 height: 26.5%;
 background: #fff;
 border-radius: 100%;
}

.turntable.has-artwork.hide-label-with-artwork .label {
 display: none;
}

.turntable .slipmat {
 background: transparent url(../image/slipmat.jpg) no-repeat 50% 50%;
 background-size: contain;
}

.turntable.power-on.motor-on .platter,
.turntable.power-on.motor-on .spindle,
.turntable.power-on.motor-on .record-grooves,
.turntable.power-on.motor-on.has-artwork .record,
.turntable.power-on.motor-on .slipmat {
 -webkit-transition-property: -webkit-transform;
 -webkit-transform-origin: 50% 50%;
 transition-property: transform;
 transform-origin: 50% 50%;
 -webkit-animation: spin 2.33s linear infinite;
 animation: spin 2.33s linear infinite;
}

.turntable.power-on.motor-on .slipmat {
 -webkit-animation-duration: 1.75s;
 animation-duration: 1.75s;
}

.turntable .record-holder,
.turntable .slipmat-holder {
 position: absolute;
 top: 0px;
 left: 0px;
 width: 100%;
 height: 100%;
 /* hide by default */
 opacity: 0;
 /* lazy */
 -webkit-transition: all 0.35s;
 transition: all 0.35s;
 transform: scale3d(1.15,1.15,1.15);
 transform-origin: 42% 50%;
}

.turntable.has-record .record-holder,
.turntable.has-slipmat .slipmat-holder {
 opacity: 1;
 transform: scale3d(1,1,1);
 -webkit-filter: none;
 filter: none;
}

.turntable .record {
 background-color: #000;
 /* in the event artwork is applied, try to scale and center by default. */
 /* slightly oversize to fix possible rounding errors. */
 background-size: cover;
 background-position: 50% 50%;
 background-repeat: no-repeat;
}

.turntable .record-grooves {
 background: transparent url(../image/record-grooves-1440x1440-white.png) no-repeat 50% 50%;
 background-size: contain;
 opacity: 0.15;
}

.turntable .spindle {
 position: absolute;
 left: 40.78%;
 top: 49.45%;
 width: 1.17%;
 height: 1.55%;
 background-color: rgba(0,0,0,0.65);
 border-radius: 100%;
 border: 1px solid rgba(0,0,0,0.15);
 background-image: -webkit-radial-gradient(center, ellipse cover, rgba(255,255,255,1) 0%,rgba(128,128,128,0) 100%); /* Chrome10+,Safari5.1+ */
 background-image: -o-radial-gradient(center, ellipse cover, rgba(255,255,255,1) 0%,rgba(128,128,128,0) 100%); /* Opera 12+ */
 background-image: -ms-radial-gradient(center, ellipse cover, rgba(255,255,255,1) 0%,rgba(128,128,128,0) 100%); /* IE10+ */
 background-image: radial-gradient(ellipse at center, rgba(255,255,255,1) 0%,rgba(128,128,128,0) 100%); /* W3C */
 /* fix border bleed */
 -webkit-background-clip: padding-box;
 background-clip: padding-box;
}

.turntable .tonearm-holder,
.turntable .tonearm {
 -webkit-transform-origin: 54% 27%;
 transform-origin: 54% 27%;
}

.turntable .tonearm-holder {
 position: absolute;
 right: 0px;
 top: 0px;
 margin-top: -4%;
 margin-right: 2.75%;
 width: 28.55%;
 height: 99.75%;
}

.turntable .tonearm {
 position: absolute;
 right: 0px;
 top: 0px;
 width: 100%;
 height: 100%;
 background: transparent url(../image/tt_arm.png) no-repeat 0px 0px;
 background-size: contain;
 -webkit-transition: -webkit-transform 0.1s;
 transition: transform 0.1s;
}

.turntable.motor-on.has-record .tonearm-holder {
 -webkit-animation: wobble 1s ease-in-out alternate infinite;
 animation: wobble 1s ease-in-out alternate infinite;
}

.turntable .button:active {
 transform-origin: 50% 50%;
 transform: scale(0.975);
 opacity: 0.9;
}

.turntable .start-stop {
 position: absolute;
 top: 85.85%;
 left: 2%;
 width: 10.58983%;
 height: 10.65%;
 background: transparent url(../image/tt_startstop.png) no-repeat 0px 0px;
 background-size: contain;
 margin: 0.175% 0px 0px -0.175%;
 border-radius: 5px;
}

.turntable .power-light {
 position: absolute;
 bottom: 18.5%;
 left: 5.75%;
 width: 15.95%;
 height: 17.9%;
 background: transparent url(../image/power-light.png) no-repeat 0px 0px;
 background-size: contain;
 -webkit-transform: rotate(12.5deg);
 transform: rotate(12.5deg);
 -webkit-transform-origin: 50% 50%;
 transform-origin: 50% 50%;
 -webkit-transition: opacity 0.25s;
 transition: opacity 0.25s;
 opacity: 0;
}

.turntable.power-on .power-light {
 opacity: 1;
}

.turntable.power-on.motor-on .power-light {
 -webkit-animation: flicker 0.08s linear infinite;
 animation: flicker 0.08s linear infinite;
}

.turntable .power-dial {
 position: absolute;
 bottom: 17.5%;
 left: 2.75%;
 width: 5.95%;
 height: 7.9%;
 -webkit-transform: rotate(0deg);
 -webkit-transform-origin: 50% 50%;
 -webkit-transition: transform 0.2s ease-out;
 transform: rotate(0deg);
 transform-origin: 50% 50%;
 -webkit-transition: -webkit-transform 0.2s ease-out;
 transition: transform 0.2s ease-out;
 background: transparent url(../image/tt_powerdial.png) no-repeat 0px 0px;
 background-size: contain;
}

.turntable.power-on .power-dial {
 -webkit-transform: rotate(22.5deg);
 transform: rotate(22.5deg);
}

.turntable .speed-33 {
 position: absolute;
 bottom: 4%;
 left: 13.4%;
 width: 5.12%;
 height: 1.85%;
 background: transparent url(../image/tt_33.png) no-repeat 0px 0px;
 background-size: contain;
}

.turntable.power-on .speed-33.on {
 background-image: url(../image/tt_33_on.png);
}

.turntable .speed-45 {
 position: absolute;
 bottom: 4%;
 left: 19.05%;
 width: 5.12%;
 height: 1.85%;
 background: transparent url(../image/tt_45.png) no-repeat 0px 0px;
 background-size: contain;
}

.turntable.power-on .speed-45.on {
 background-image: url(../image/tt_45_on.png);
}

.turntable .light {
 position: absolute;
 bottom: 2%;
 left: 48.25%;
 width: 21.7%;
 height: 24.9%;
 background: transparent url(../image/tt_lightoff.png) no-repeat 0px 0px;
 background-size: contain;
}

.turntable .light-on {
 position: absolute;
 bottom: 3.15%;
 left: 52.25%;
 width: 18.7%;
 height: 19.9%;
 background: transparent url(../image/tt_lighton.png) no-repeat 0px 0px;
 background-size: contain;
 transform: rotate(12deg);
 opacity: 0;
 -webkit-transition: opacity 0.2s;
 transition: opacity 0.2s;
}

.turntable.power-on .light-on {
 opacity: 1;
}

@-webkit-keyframes flicker {
 from { opacity: 0.85; }
 to { opacity: 1; }
}

@keyframes flicker {
 from { opacity: 0.85; }
 to { opacity: 1; }
}

@-webkit-keyframes spin {
 from { -webkit-transform: rotate(180deg); }
 to { -webkit-transform: rotate(540deg); }
}

@keyframes spin {
 from { transform: rotate(180deg); }
 to { transform: rotate(540deg); }
}

@-webkit-keyframes wobble {
 from { -webkit-transform: rotate(0deg); }
 to { -webkit-transform: rotate(0.33deg); }
}

@keyframes wobble {
 from { transform: rotate(0deg); }
 to { transform: rotate(0.33deg); }
}